package com.kantboot.system.admin.service;

import com.kantboot.system.admin.domain.dto.BindPermissionDTO;
import com.kantboot.system.admin.domain.dto.SysAdminRouterSearchDTO;
import com.kantboot.system.admin.domain.entity.SysAdminRouter;
import com.kantboot.util.core.param.PageParam;
import com.kantboot.util.core.result.PageResult;

import java.util.List;

public interface ISysAdminRouterService {

    PageResult getBodyData(PageParam<SysAdminRouterSearchDTO> pageParam);

    List<SysAdminRouter> getList();

    /**
     * 根据用户id获取路由列表
     */
    List<SysAdminRouter> getListByUserId(Long userId);

    /**
     * 获取用户自身的路由列表
     */
    List<SysAdminRouter> getSelfList();

    /**
     * 获取最上一级菜单
     */
    List<SysAdminRouter> getSelfTopList();

    void bindPermission(BindPermissionDTO dto);

    List<String> getPermissionCodeListByRouterCode(String routerCode);

}
